//#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<iostream>
//#include<list>
//
//using namespace std;
//
//class mult 
//{
//public:
//	mult()
//	{
//		_coe = 0;
//		_No = 0;
//	}
//	mult(int coe, int No)
//	{
//		_coe = coe;
//		_No = No;
//	}
//
//	int _coe;
//	int _No;
//};
//
//int main() 
//{
//	int n;
//	int coe, No;
//	cin >> n;
//	list<mult> l1;
//	while (n--)
//	{
//		cin >> coe >> No;
//		mult tmp(coe, No);
//		l1.push_back(tmp);
//	}
//	cin >> n;
//	list<mult> l2;
//	while (n--)
//	{
//		cin >> coe >> No;
//		mult tmp(coe, No);
//		l2.push_back(tmp);
//	}
//	list<mult> l3;
//	while(!l1.empty()&&!l2.empty())
//	{ 
//		mult t1 = l1.front();
//		mult t2 = l2.front();
//		if (t1._No > t2._No) 
//		{
//			l3.push_back(t1);
//			l1.pop_front();
//		}
//		else if (t1._No < t2._No)
//		{
//			l3.push_back(t2);
//			l2.pop_front();
//		}
//		else
//		{
//			if (t1._coe + t2._coe == 0)
//			{
//				l1.pop_front();
//				l2.pop_front();
//			}
//			else
//			{
//				mult t3(t1._coe + t2._coe, t1._No);
//				l3.push_back(t3);
//				l1.pop_front();
//				l2.pop_front();
//			}
//		}
//	}
//
//	while (!l1.empty())
//	{
//		mult t1 = l1.front();
//		l3.push_back(t1);
//		l1.pop_front();
//	}
//
//	while (!l2.empty())
//	{
//		mult t2 = l2.front();
//		l3.push_back(t2);
//		l2.pop_front();
//	}
//
//	if (!l3.empty())
//	{
//		int size = l3.size() - 1;
//		for (mult x : l3)
//		{
//			cout << x._coe << " " << x._No;
//			if (size != 0)
//				cout << " ";
//			size--;
//		}
//	}
//	else
//	{
//		cout << 0 << " " << 0 ;
//	}
//
//
//	return 0;
//}

//
//#include<iostream>
//#include<list>
//
//using namespace std;
//
//int main()
//{
//	list<int> l1, l2,l3;
//	int N;
//	cin >> N;
//	while (N--)
//	{
//		l1.resize(0);
//		l2.resize(0);
//		l3.resize(0);
//		int n,t;
//		cin >> n;
//		while (n--)
//		{
//			cin >> t;
//			l1.push_back(t);
//		}
//		cin >> n;
//		while (n--)
//		{
//			cin >> t;
//			l2.push_back(t);
//		}
//
//		while (!l2.empty()&&!l1.empty())
//		{
//			if (l2.front() == l1.front())
//			{
//				l1.pop_front();
//				l2.pop_front();
//			}
//			else if (l2.front() < l1.front())
//			{
//				l2.pop_front();
//			}
//			else
//			{
//				l3.push_back(l1.front());
//				l1.pop_front();
//
//			}
//		}
//		while (!l1.empty())
//		{
//			l3.push_back(l1.front());
//			l1.pop_front();
//		}
//
//		int size = l3.size()-1;
//		for (int x : l3)
//		{
//			cout << x;
//			if (size != 0)
//				cout << " ";
//			size--;
//		}
//		cout << endl;
//	}
//
//
//	return 0;
//}

//#include<iostream>
//#include<vector>
//
//using namespace std;
//
//class node
//{
//public:
//    node()
//    {
//        _n = 0;
//        _pos = 0;
//    }
//
//    node(int n, int pos)
//    {
//        _n = n;
//        _pos = pos;
//    }
//
//    int _n;
//    int _pos;
//};
//
//int main()
//{
//    int N;
//    cin >> N;
//    while (N--)
//    {
//        vector<node> arr;
//        int size, n = 6, t, pos = 1;
//        cin >> size;
//        for (int i = 0; i < size; i++)
//        {
//            cin >> t;
//            arr.push_back(node(t,pos++));
//        }
//        vector<int> ret;
//        int tpos = 0;
//        while (!arr.empty())
//        {
//            int k = (n + tpos - 1) % arr.size();
//            node tmp = arr[k];
//            arr.erase(arr.begin() + k);
//            tpos = k;
//            ret.push_back(tmp._pos);
//            n = tmp._n;
//        }
//        for (int i = 0; i < ret.size() - 1; i++)
//            cout << ret[i] << " ";
//        cout << ret[ret.size() - 1] << endl;
//    }
//    return 0;
//}



//#include<iostream>
//#include<list>
//
//using namespace std;
//
//int main()
//{
//	list<int>l1, l2, l3;
//	int n, t, k;
//	cin >> n;
//	while (n--)
//	{
//		cin >> t;
//		l1.push_back(t);
//	}
//	cin >> k;
//	for (auto x : l1)
//	{
//		if (x <= k)
//		{
//			l2.push_back(x);
//		}
//		else
//		{
//			l3.push_back(x);
//		}
//	}
//
//	cout << l2.size() << endl;
//	int size = l2.size() - 1;
//	for (auto x : l2)
//	{
//		cout << x;
//		if (size != 0)
//			cout << " ";
//		size--;
//	}
//	if(l2.size()!=0)
//	cout << endl;
//
//	cout << l3.size() << endl;
//	size = l3.size() - 1;
//	for (auto x : l3)
//	{
//		cout << x;
//		if (size != 0)
//			cout << " ";
//		size--;
//	}
//
//	return 0;
//}

//#include<iostream>
//#include<list>
//
//using namespace std;
//
//int main()
//{
//	list<int> l1, l2, l3;
//	int t;
//	cin >> t;
//	while (t != -1)
//	{
//		l1.push_back(t);
//		cin >> t;
//	}
//	cin >> t;
//	while (t != -1)
//	{
//		l2.push_back(t);
//		cin >> t;
//	}
//
//	while (!l1.empty() && !l2.empty())
//	{
//		if (l1.front() <= l2.front())
//		{
//			l3.push_back(l1.front());
//			l1.pop_front();
//		}
//		else
//		{
//			l3.push_back(l2.front());
//			l2.pop_front();
//		}
//	}
//	while(!l1.empty())
//	{
//		l3.push_back(l1.front());
//		l1.pop_front();
//	}
//	while (!l2.empty())
//	{
//		l3.push_back(l2.front());
//		l2.pop_front();
//	}
//	if (l3.empty())
//	{
//		cout << "NULL" << endl;
//	}
//	else
//	{
//		int size = l3.size() - 1;
//		for (auto x : l3)
//		{
//			cout << x;
//			if (size != 0)
//				cout << " ";
//			size--;
//		}
//		cout << endl;
//	}
//
//	return 0;
//}


#include<iostream>
#include<list>

using namespace std;

int main()
{
	list<int> l1, l2, l3;
	int t;
	cin >> t;
	while (t != -1)
	{
		l1.push_back(t);
		cin >> t;
	}
	cin >> t;
	while (t != -1)
	{
		l2.push_back(t);
		cin >> t;
	}

	while (!l1.empty() && !l2.empty())
	{
		if (l1.front() == l2.front())
		{
			l3.push_back(l1.front());
			l1.pop_front();
			l2.pop_front();
		}
		else if(l1.front() > l2.front())
		{
			l2.pop_front();
		}
		else
		{
			l1	.pop_front();
		}
	}

	if (l3.empty())
	{
		cout << "NULL" << endl;
	}
	else
	{
		int size = l3.size() - 1;
		for (auto x : l3)
		{
			cout << x;
			if (size != 0)
				cout << " ";
			size--;
		}
		cout << endl;
	}

	return 0;
}